布団が俺を呼んでいる

丘山大一のぶろぐ

XAML 多角形の中に文字を表示したい

多角形作って、中にTextBlock突っ込めばオッケー、簡単ですね。
あれ?

多角形(Polygon)の中にTextBlockは突っ込めないみたい

な、なんだってー。

というわけで

正解はTextBlock の裏に多角形を仕込むことみたいです。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication1"
        xmlns:exshape="clr-namespace:Microsoft.Expression.Shapes;assembly=Microsoft.Expression.Drawing"
        xmlns:exctrl="clr-namespace:Microsoft.Expression.Controls;assembly=Microsoft.Expression.Drawing"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TextBlock Text="12" FontSize="24"
           Width="50"
           Height="50"
           Padding="10,10,0,0">
            <TextBlock.Background>
                <VisualBrush>
                    <VisualBrush.Visual>
                        <exshape:RegularPolygon Width="50" Height="50" Stroke="Black" PointCount="5"  Opacity="0.25" />
                    </VisualBrush.Visual>
                </VisualBrush>
            </TextBlock.Background>
        </TextBlock>
    </Grid>
</Window>

ポイントは TextBlock の Padding 。
これで文字位置を微調整する必要があります。

うーん、イマイチ

多角形の中に文字列が存在する のではなく、
文字列の裏側に多角形が存在する というのは、直観に反しているのでなんかイヤ。
もっといい方法ないかなあ……。

あと、もしかして……

UWPってRegularPolygonを呼び出せない……??

Windows 10ユニバーサルアプリ開発【Windows 10 Mobile対応】 ThinkIT Books

コメントを書く

布団が俺を呼んでいる | プロジェクトマネージャ 第4週目 「全然勉強できんかった……」

布団が俺を呼んでいる

丘山大一のぶろぐ

プロジェクトマネージャ 第4週目 「全然勉強できんかった……」

師走になると飲み会、付き合いが増えるよね……。
飲み会に参加しながら、予定を気にしつつ、飲み会の企画しながら、年末年始の計画調整と、年賀状刷り。
う~~~~ん。

あと今更ながらガンダムビルドファイターズ見た。
面白かった。戦闘シーンで、ちょっとパンチ多すぎな気もしたけど。
モビルスーツの格闘戦はビームサーベル→キック→ここぞというところでパンチ が好き。
深い理由はない。なんとなく。

ちなみに、アニメは完結後、概ねレンタルで旧作扱いになってから纏めて見る派。
放映中だとネットに情報が溢れすぎてて、どうしてもネタバレが目に入ってしまい、面白味が薄れる。
情報の氾濫が沈静化して、皆が違うものに気を取られ始めたころに、事前情報無しで見ると素直な気持ちで見られる。
アニメが面白いかどうかはネットや回りの評価じゃない、自分の曇りなき眼で見定め、決める」のだ。

あれ、アニメ話になってしまった……。


ガンダムビルドファイターズ Blu-ray Box 1 [スタンダード版] <期間限定生産 2015/03/25まで>

新品価格
¥38,146から
(2015/12/21 20:55時点)

コメントを書く